﻿using System;
using System.Collections.Generic;
using System.Linq;
using Joel.Vishnu.Modelo.Entidades;
using Joel.Vishnu.Presentacion.Vistas;
using Joel.Vishnu.Repositorios;

namespace Joel.Vishnu.Presentacion
{
    public class IvaPresentador
    {
        #region Constructores

        public IvaPresentador(IIva vista)
        {
            this.vista = vista;
        }

        #endregion

        #region Atributos

        private IIva vista;

        #endregion

        #region Propiedades

        private RepositorioConfiguracion RepositorioConfiguracion
        {
            get { return new RepositorioConfiguracion(); }
        }

        #endregion

        #region Metodos

        public void Aceptar()
        {
            if (Convert.ToDecimal(vista.Valor) >= 0 && Convert.ToDecimal(vista.Valor) < 100)
                RepositorioConfiguracion.Modificar("Iva", vista.Valor);
            else
                throw new Exception("El porcentaje debe ser entre 0,01 y 99,99.");
        }

        public void Inicializar()
        {
            ActualizarPorcentaje();
        }

        public void ActualizarPorcentaje()
        {
            vista.Valor = RepositorioConfiguracion.DevolverPorNombre("IVA").Valor;
        }

        #endregion
    }
}
